﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TracedReality.RayTracing.PhotonMapping
{
    /// <summary>
    /// A simple representation of a Photon for photon mapping.
    /// </summary>
    public class Photon
    {
        /// <summary>
        /// The position of this Photon.
        /// </summary>
        public Vector position;

        /// <summary>
        /// The energy of this Photon.
        /// </summary>
        public Vector energy;

        /// <summary>
        /// The direction of this Photon.
        /// </summary>
        public Vector direction;

        /// <summary>
        /// Create a Photon with the given position, energy, and direction.
        /// </summary>
        /// <param name="p">Position of the Photon.</param>
        /// <param name="e">Energy of the Photon.</param>
        /// <param name="d">Direction of the Photon.</param>
        public Photon(Vector p, Vector e, Vector d)
        {
            position = p;
            energy = e;
            direction = d;
        }
    }
}
